草庐IT

Windows API编程

全部标签

c# - 在 "Public"类中包含 "Internal"成员是否是一种糟糕的编程习惯?

如果我只保留声明为“内部”的类中的“protected”、“内部”和“私有(private)”成员(字段、方法、属性、事件),会不会更具体和合适?我在各种代码中看到过这种做法(在“内部”类中有“公共(public)”成员)所以只是想知道这是一种不好的做法还是有一些好处或优势。[只关注C#]感谢您的关注。 最佳答案 不一定。如果您想隐式实现一个接口(interface),那么公共(public)成员是完全可以接受的。但一般来说,如果类是内部类,则公共(public)成员没有多大意义。您不会受到伤害,因为您将无法在定义它的模块之外以强类

c# - 使用 Microsoft.Web.Administration 以编程方式安装 SSL 证书

因此Microsoft.Web.AdministrationAPI非常易于用于为站点创建HTTP和HTTPS绑定(bind):using(ServerManagermanager=newServerManager()){Sitesite=manager.Sites[siteName];site.Bindings.Clear();site.Bindings.Add("*:80:","http");site.Bindings.Add("*:443:","https");manager.CommitChanges();}但如果没有SSL证书,HTTPS绑定(bind)就毫无意义。如何使用此A

c# - 游戏编程和事件处理程序

我已经有大约10年没有编写游戏程序了(我上一次的经验是DJGPP+Allegro),但我想我会在周末检查一下XNA,看看它是如何形成的。给我留下了深刻的印象,但是当我继续拼凑游戏引擎时,我有一个(可能)基本问题。您应该在多大程度上依赖C#的委托(delegate)和事件来驱动游戏?作为一名应用程序程序员,我大量使用委托(delegate)和事件,但我不知道这样做是否会产生重大开销。在我的游戏引擎中,我设计了一种“追逐摄像机”,它可以附加到一个物体上,然后重新计算它相对于物体的位置。当物体移动时,有两种方式更新跟踪凸轮。在主游戏循环中有一个“UpdateCameras()”方法。使用事件

c# - 如何以编程方式更改我的 Windows 桌面墙纸?

我想使用C#为WindowsXP设置壁纸。我已经开发了代码,因此它可以在Windows7中完美运行,但显然它在XP中不一样。我将该墙纸添加为资源,将其编译操作设置为Content和Alwayscopy。奇怪的是,它在桌面的属性对话框中设置了正确的墙纸名称。但是,未设置墙纸。我的代码如下所示:publicsealedclassWallpaper{Wallpaper(){}constintSPI_SETDESKWALLPAPER=20;constintSPIF_UPDATEINIFILE=0x01;constintSPIF_SENDWININICHANGE=0x02;[DllImport(

c# - 使用 C# 以编程方式删除服务

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowtoinstallawindowsserviceprogrammaticallyinC#?有没有一种方法可以使用C#以编程方式删除服务而无需执行“InstallUtil.exe/uMyService.exe”?

c# - 以编程方式检查 Gac 中是否存在 dll。如果存在,则将其显示在网格中

我将在一个文件夹中有一个dll列表,我想检查一个dll是否存在一个应用程序。如果是这样,我想在网格中添加该应用程序名称。任何人都可以告诉如何以编程方式执行此操作。提前致谢 最佳答案 执行assembly.LoadFrom并检查GlobalAssemblyCachetestAssembly=Assembly.LoadFrom(dllname);if(!testAssembly.GlobalAssemblyCache){//notingac} 关于c#-以编程方式检查Gac中是否存在dll。

c# - 如何以编程方式获取 user.config 文件的位置?

我想在我的Windows窗体应用程序中显示user.config文件的位置,以便用户可以轻松找到它。我了解路径是如何创建的,感谢:CanIcontrolthelocationof.NETusersettingstoavoidlosingsettingsonapplicationupgrade?.但是,如果这种情况发生变化,我宁愿不必在我的应用程序中构建路径,尤其是如果有一种获取user.config文件位置的简单方法。 最佳答案 试试这个:varconfig=ConfigurationManager.OpenExeConfigura

c# - 以编程方式将资源加载为字节数组

我将图像添加为文件并将类型设置为资源(见屏幕截图)如何在不使用resx文件等的情况下将其作为字节数组提取出来? 最佳答案 事情比项目标记为答案更简单!如果单击资源中的文件并查看属性窗口,则可以将文件类型设置为二进制。然后你可以用一个简单的代码访问字节数组varbyteArray=Properties.Resources.FileName;其中FileName是您的资源名称。 关于c#-以编程方式将资源加载为字节数组,我们在StackOverflow上找到一个类似的问题:

c# - 以编程方式导入带有私钥的证书

我正在尝试在C#应用程序中使用HttpListener类来让迷你网络服务器通过SSL提供内容。为此,我需要使用httpcfg工具。我有一个包含公钥和私钥对的.pfx文件。如果我使用mmc手动将此key对导入本地机器存储,一切正常。但是,如果我使用X509Store类以编程方式导入此key对,我将无法连接到我的迷你网络服务器。请注意,在这两种方法中,证书都被导入到LocalMachine中的MY存储中。奇怪的是,一旦我以编程方式导入它,我就能够在mmc中查看证书,当我查看它时,UI指示私钥也可用于该证书。深入挖掘,我注意到当我手动导入key对时,我可以看到一个新文件出现在C:\Docum

c# - 如何以编程方式为 Amazon S3 设置 Http Header?

我想为我的asp.netweb应用程序存储在S3中的文件设置到期日期header。第一个案例-在PutObject期间要求第二个案例——更新到期日每月一次至更新到期日期。 最佳答案 当您使用Asp.net时,我假设您使用的是AWS.NETSDK.要在上传对象时添加Expires(或任何其他httpheader),请将其添加为PutObject请求的一部分。varclient=newAmazon.S3.AmazonS3Client(AWS_Key,AWS_SecretKey);varreq=newAmazon.S3.Model.Put